home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.awt;
-
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Insets;
- import java.util.Vector;
-
- public class TabPanel extends BaseTabbedPanel {
- Vector vPanels;
- String[] labels;
- boolean bOsHack;
-
- public TabPanel() {
- this(0, 0);
- }
-
- public TabPanel(boolean var1) {
- this(var1 ? 0 : 1, var1 ? 0 : 1);
- }
-
- public TabPanel(int var1, int var2) {
- super(var1, var2);
- this.vPanels = new Vector();
- String var3 = System.getProperty("os.name");
- if (var3.equals("Windows 95")) {
- this.bOsHack = true;
- } else {
- this.bOsHack = false;
- }
- }
-
- public int addTabPanel(String var1, boolean var2, Component var3) {
- this.vPanels.addElement(var3);
- return ((BaseTabbedPanel)this).addTab(var1, var2);
- }
-
- public int getCurrentPanelNdx() {
- return super.curIndex;
- }
-
- public void setCurrentPanelNdx(int var1) {
- this.showTabPanel(var1);
- }
-
- public Component add(Component var1) {
- return this.add(var1, -1);
- }
-
- private String createDefaultLabel(int var1) {
- String var2 = "tab - ";
- var2 = var2 + String.valueOf(var1);
- return var2;
- }
-
- public synchronized Component add(Component var1, int var2) {
- this.showTabPanel(this.addTabPanel(this.createDefaultLabel(this.vPanels.size()), true, var1));
- this.updatePanelLabels();
- return var1;
- }
-
- public synchronized Component add(String var1, Component var2) {
- return var2;
- }
-
- public synchronized void remove(Component var1) {
- int var2 = this.getPanelTabIndex(var1);
- if (this.countTabs() == 1) {
- this.removeAllTabPanels();
- } else {
- if (var2 == 0) {
- this.showTabPanel(1);
- } else {
- this.showTabPanel(var2 - 1);
- }
-
- this.removeTabPanel(var2);
- }
- }
-
- public void setPanelLabels(String[] var1) {
- this.labels = var1;
- this.updatePanelLabels();
- }
-
- public String[] getPanelLabels() {
- return this.labels;
- }
-
- public void updatePanelLabels() {
- try {
- for(int var1 = 0; var1 < this.vPanels.size(); ++var1) {
- String var2;
- if (this.labels != null) {
- try {
- var2 = this.labels[var1];
- } catch (ArrayIndexOutOfBoundsException var3) {
- var2 = this.createDefaultLabel(var1);
- }
- } else {
- var2 = this.createDefaultLabel(var1);
- }
-
- ((BaseTabbedPanel)this).setLabel(var2, var1);
- }
-
- } catch (Throwable var4) {
- }
- }
-
- public void setTabsOnBottom(boolean var1) {
- ((BaseTabbedPanel)this).setTabsInfo(var1 ? 1 : 0, var1 ? 1 : 0);
- ((BaseTabbedPanel)this).layout();
- }
-
- public boolean getTabsOnBottom() {
- return ((BaseTabbedPanel)this).getTabsPosition() != 0;
- }
-
- public synchronized void setTabPanel(String var1, boolean var2, Component var3, int var4) {
- if (var4 >= 0 && var4 < this.vPanels.size()) {
- if (var4 != ((BaseTabbedPanel)this).currentTabIndex() || var2) {
- try {
- this.vPanels.setElementAt(var3, var4);
- ((BaseTabbedPanel)this).setTab(var1, var2, var4);
- } catch (ArrayIndexOutOfBoundsException var5) {
- }
- }
- }
- }
-
- public synchronized Component getTabPanel(int var1) {
- if (var1 >= 0 && var1 < this.vPanels.size()) {
- Component var2 = null;
-
- try {
- var2 = (Component)this.vPanels.elementAt(var1);
- } catch (ArrayIndexOutOfBoundsException var3) {
- }
-
- return var2;
- } else {
- return null;
- }
- }
-
- public synchronized int getPanelTabIndex(Component var1) {
- return this.vPanels.indexOf(var1);
- }
-
- public synchronized void showTabPanel(int var1) {
- if (((BaseTabbedPanel)this).tabIsEnabled(var1)) {
- try {
- Component var2 = (Component)this.vPanels.elementAt(var1);
- ((BaseTabbedPanel)this).showTab(var1);
- ((BaseTabbedPanel)this).showPanel(var2);
- } catch (ArrayIndexOutOfBoundsException var3) {
- }
- }
- }
-
- public synchronized void enableTabPanel(boolean var1, int var2) {
- if (var2 >= 0 && var2 < this.vPanels.size() && var2 != super.curIndex) {
- ((BaseTabbedPanel)this).enableTab(var1, var2);
- }
- }
-
- public synchronized void removeTabPanel(int var1) {
- if (var1 >= 0 && var1 < this.vPanels.size() && var1 != super.curIndex) {
- try {
- Component var2 = (Component)this.vPanels.elementAt(var1);
- super.remove(var2);
- this.vPanels.removeElementAt(var1);
- } catch (ArrayIndexOutOfBoundsException var3) {
- }
-
- ((BaseTabbedPanel)this).removeTab(var1);
- }
- }
-
- public synchronized void removeAllTabPanels() {
- this.vPanels = new Vector();
- super.curIndex = -1;
- ((BaseTabbedPanel)this).removeAllTabs();
- }
-
- public int countTabs() {
- return this.vPanels.size();
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 1001:
- if (var1.target instanceof TabPanel && var1.target == this) {
- this.showTabPanel(((BaseTabbedPanel)this).currentTabIndex());
- }
- default:
- return super.handleEvent(var1);
- }
- }
-
- public Dimension preferredSize() {
- Object var1 = null;
- Object var2 = null;
- Dimension var3 = ((Component)this).size();
- int var4 = this.vPanels.size();
- Insets var5 = ((BaseTabbedPanel)this).insets();
- var3.width -= var5.left + var5.right;
- var3.height -= var5.top + var5.bottom;
- if (var3.width < 0) {
- var3.width = 0;
- }
-
- if (var3.height < 0) {
- var3.height = 0;
- }
-
- for(int var6 = 0; var6 < var4; ++var6) {
- Component var7 = (Component)this.vPanels.elementAt(var6);
- if (var7 != null) {
- Dimension var8 = var7.minimumSize();
- if (var8.width > var3.width) {
- var3.width = var8.width;
- }
-
- if (var8.height > var3.height) {
- var3.height = var8.height;
- }
-
- var8 = var7.preferredSize();
- if (var8.width > var3.width) {
- var3.width = var8.width;
- }
-
- if (var8.height > var3.height) {
- var3.height = var8.height;
- }
- }
- }
-
- var3.width += var5.left + var5.right;
- var3.height += var5.top + var5.bottom;
- return var3;
- }
-
- public Dimension minimumSize() {
- Object var1 = null;
- Object var2 = null;
- Dimension var3 = new Dimension(0, 0);
- int var4 = this.vPanels.size();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- Component var7 = (Component)this.vPanels.elementAt(var5);
- if (var7 != null) {
- Dimension var8 = var7.minimumSize();
- if (var8.width > var3.width) {
- var3.width = var8.width;
- }
-
- if (var8.height > var3.height) {
- var3.height = var8.height;
- }
- }
- }
-
- Insets var6 = ((BaseTabbedPanel)this).insets();
- var3.width += var6.left + var6.right;
- var3.height += var6.top + var6.bottom;
- return var3;
- }
- }
-